//
//  CGX_PlayTool.h
//  AVPlayer_Audio
//
//  Created by 曹曹 on 16/9/23.
//  Copyright © 2016年 曹曹. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>

@protocol CGX_PlayToolDelegate <NSObject>


/**
 代理方法, 将播放进度,总时长等提供给外部使用

 @param duration        总时长字符串
 @param second          播放进度字符串
 @param currentprogress 代表slider的值
 */
- (void)getItemDuration:(NSString *)duration currentSecond:(NSString *)second currentProgress:(CGFloat)currentprogress;

/**
 代理方法, 将缓冲进度提供给外部使用

 @param loadedDuration None
 */
- (void)getItemLoadedDuration:(CGFloat)loadedDuration;

@end

@interface CGX_PlayTool : NSObject

/**
 * 1.单例创建
 * 2.准备播放
 * 3.播放
 * 4.暂停
 * 5.调整进度
 */
@property (nonatomic, strong) AVPlayer *cgx_player;
@property (nonatomic, copy) NSString *audioURL;
@property (nonatomic, assign) id <CGX_PlayToolDelegate> delegate;

/**
 单例一个播放器对象
 */
+ (instancetype)sharedPlayTool;

/**
 播放前必须使播放器准备好音频文件
 */
- (void)prepareToPlayAudio;

/**
 开始播放音频
 */
- (void)playAudio;

/**
 暂停音频
 */
- (void)pauseAudio;

/**
 调整播放进度

 @param value 滑动块最终的值
 */
- (void)seekToDragedValue:(CGFloat)value;

@end
